package homework.day02;


import java.io.*;

/**
 * 将当前项目目录下的所有.txt文件复制一份。
 * 复制文件的名字格式:原文件名_cp.txt
 *
 * 例如:
 * 复制当前项目目录下的demo.txt时，复制的文件名为demo_cp.txt
 *
 */
public class Test03 {
    public static void main(String[] args) throws IOException {
        //1先获取当前目录下的所有待复制的文件(所有的.txt文件)
        File dir = new File(".");
        File[] subs = dir.listFiles(f->f.getName().endsWith(".txt"));
        for(File sub : subs){
            //根据原文件名得到复制文件名
            /*
                思路:
                1:截取原文件名中的文件名部分(不包含后缀)
                  例如:demo.txt   我们先截取出demo
                2:再将截取出的文件名部分拼接"_cp"
                  例如:demo--->demo_cp
                3:在通过原文件的完整名字截取出后缀部分
                  例如:demo.txt   截取出后缀部分".txt"
                4:再将后缀部分拼接
                  demo_cp--->demo_cp.txt
             */
            String filename = sub.getName();//原文件名
            String name = filename.substring(0,filename.lastIndexOf("."));
            name = name + "_cp";
            name = name + filename.substring(filename.lastIndexOf("."));

            FileInputStream fis = new FileInputStream(sub);
            FileOutputStream fos = new FileOutputStream(name);
            int len;
            byte[] data = new byte[1024*10];
            while((len = fis.read(data))!=-1){
                fos.write(data,0,len);
            }
            fis.close();
            fos.close();

        }

        System.out.println("复制完毕");

    }
}
